package cn.zhouchao.basic.util;

import lombok.extern.slf4j.Slf4j;
import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;
import java.io.IOException;

/**
 * SmsgUtil
 * 发送短信的工具类
 */
@Slf4j
public class SmsUtil {
    public static void sendSms(String phone, String verifyCode){

        HttpClient client = new HttpClient();
        PostMethod post = new PostMethod("https://utf8api.smschinese.cn/");
        post.addRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=utf-8");//在头文件中设置转码
        NameValuePair[] data ={
                new NameValuePair("Uid", "超超子子"), // 用户名
                new NameValuePair("Key", "0F7D6E7F7DECA285F85D454208F57BE9"), //密钥
                new NameValuePair("smsMob",phone), //18881256911
                new NameValuePair("smsText",verifyCode)}; //验证码：8888
        post.setRequestBody(data);
        try {
            client.executeMethod(post);
            Header[] headers = post.getResponseHeaders();
            int statusCode = post.getStatusCode();
            System.out.println("statusCode:"+statusCode); //HTTP状态码
            for(Header h : headers){
                System.out.println(h.toString());
            }
            String result = new String(post.getResponseBodyAsString().getBytes("utf-8"));
            System.out.println("返回消息的状态: " + result);  //打印返回消息状态【大于0:成功;-3:短信数量不足】
            post.releaseConnection();
        }catch (IOException e){
            log.info("短息验证码发送失败！");
            e.printStackTrace();
        }
    }

//    public static void main(String[] args) {
//        sendSms("18881256911","你好，zc！");
//        System.out.println("短信发送成功！");
//    }
}
